home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1996 / MacHack 1996.toast / Presentations / Presentations ’92 / PatchWorks Kit / <PatchWorks++> / Globals.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-05-15  |  1.1 KB  |  50 lines  |  [TEXT/KAHL]

  1. /*
  2.     Globals.h
  3.  
  4.     Defines macros for working with globals in a code resource.
  5.     
  6.     THINK C 5.0 or better required.
  7.     
  8.     Patrick Beard.
  9.  */
  10.  
  11. #pragma once
  12.  
  13. #ifndef __GLOBALS__
  14. #define __GLOBALS__
  15.  
  16. #ifdef THINK_C
  17. #if __option(a4_globals)
  18. #include "SetUpA4.h"
  19. #define InitGlobals() RememberA0()
  20. #define OpenGlobals() SetUpA4()
  21. #define CloseGlobals() RestoreA4()
  22. #define RememberGlobals() RememberA4()
  23. #else
  24. #include "SetUpA5.h"
  25. #define InitGlobals() RememberA5()
  26. #define OpenGlobals() SetUpA5()
  27. #define CloseGlobals() RestoreA5()
  28. #define RememberGlobals() RememberA5()
  29. #endif
  30. #define DestroyGlobals()
  31. #define GetCodeHandle() RecoverHandle((Ptr)GetA4())
  32. #endif
  33.  
  34. #ifdef applec
  35. void AllocateWorld(void);
  36. void DestroyWorld(void);
  37. void EnterWorld(void);
  38. void PushA5() = { 0x2F0D };
  39. void PopA5() = { 0x2A5F };
  40. #define InitGlobals() AllocateWorld()
  41. #define OpenGlobals() do { PushA5(); EnterWorld(); } while(0)
  42. #define CloseGlobals() PopA5()
  43. #define RememberGlobals() 
  44. #define DestroyGlobals() DestroyWorld()
  45. extern "C" void ExtensionMain(void);
  46. #define GetCodeHandle() RecoverHandle((Ptr)&ExtensionMain)
  47. #endif
  48.  
  49. #endif /* __GLOBALS__ */
  50.